Skip to content

Prefer exact semantic schema for structured static reports - #111

Draft
masarray wants to merge 7 commits into
baseline/arsas-report-projection-b9ee5fcfrom
fix/semantic-report-schema-authority
Draft

Prefer exact semantic schema for structured static reports#111
masarray wants to merge 7 commits into
baseline/arsas-report-projection-b9ee5fcfrom
fix/semantic-report-schema-authority

Conversation

@masarray

@masarray masarray commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

Fix structured Static DataSet report projection on the exact ARIEC baseline currently pinned by ARSAS (b9ee5fc9650b72e69bc81287a1e1b047ad19b054). This PR is intentionally based on baseline/arsas-report-projection-b9ee5fc rather than the divergent current main, so the physical-test engine does not absorb unrelated progress.

Field issue

On AA1E1F06R4, structured values such as PPRE_MMXU1.TotPF are readable in IEDScout but ARSAS can remain Unknown / report pending in report-only Static DataSet mode. The generic projector can recognize a two-value structure as an instMag/mag pair before exact semantic schema authority is applied, which can prevent the exact SCL leaves (for example .instMag.f / .mag.f) from reaching ARSAS.

A second hardening case exists when an InformationReport omits MemberReference: the semantic resolver can still prove the exact static member from DataSet + member index, while the generic projector has no authoritative parent and may emit unrooted heuristic leaves.

Changes

  • Try exact model-backed semantic expansion for every structured report member first.
  • Preserve the established generic projector as fail-closed fallback when no unique semantic schema can prove the mapping.
  • Return the resolved authoritative member reference from semantic expansion, including DataSet+index fallback resolution.
  • When semantic expansion succeeds, replace generic output by report-value position rather than parent/prefix filtering. Generic projection for that same report value is removed completely, while unrelated report values retain normal generic behavior.
  • Preserve exact Static DataSet member identity and scalar SCL leaf references.
  • Order report-native q / t companion updates before semantic scalar values so consumers can retain quality/timestamp without an MMS read.
  • Regression: AA1E1F06R4VI3p1_OperationalValues/PPRE_MMXU1.TotPF proves exact .instMag.f / .mag.f schema overrides the generic measurement-pair heuristic.
  • P1 regression: the same TotPF report with omitted MemberReference resolves uniquely through static DataSet index, publishes only exact semantic leaves, and leaks no unrooted generic projected-mx-pair updates.

Safety contract

This change does not add polling, dynamic DataSet writes, fuzzy reference matching, or arbitrary parent reconstruction. If semantic schema cannot prove the projection, baseline behavior is preserved.

Validation

The PR stays based on the ARSAS-pinned baseline and remains draft pending CI plus physical relay validation. The repository CI normally auto-triggers pull requests only when the base is main; for this intentionally baseline-targeted PR the same .NET CI job is re-run manually against the branch.

Draft pending physical relay validation.

@masarray
masarray changed the base branch from main to baseline/arsas-report-projection-b9ee5fc September 4, 2026 13:12
@masarray
masarray changed the base branch from baseline/arsas-report-projection-b9ee5fc to main September 4, 2026 13:17
@masarray masarray closed this Sep 4, 2026
@masarray masarray reopened this Sep 4, 2026
@masarray
masarray changed the base branch from main to baseline/arsas-report-projection-b9ee5fc September 4, 2026 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant